package com.utils {

import fairygui.GButton;

import laya.utils.Browser;

public class UtilsTool {

	private static const hiddenIFrameID:String = 'hiddenDownloader';

	/**
	 * 下载文件
	 * @param url
	 */
	public static function downloadURL(url:String):void {
		var iframe:* = Browser.getElementById(hiddenIFrameID);
		if (iframe === null) {
			iframe = Browser.createElement('iframe');
			iframe.id = hiddenIFrameID;
			iframe.style.display = 'none';
			Browser.document.body.appendChild(iframe);
		}
		iframe.src = url;
	}

	/**
	 * 获取浏览器传入的参数
	 * @param name 参数名字
	 * @return 值
	 *
	 */
	public static function getQueryString(name:String):String {
		var reg:RegExp = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
		var r:Array = Browser.window.location.search.substr(1).match(reg);
		if (r != null) return unescape(r[2]);
		return null;
	}

	/** 随机数  最小值  最大值(不包括)  */
	public static function random(minNum:Number, maxNum:Number):Number {
		return (Math.floor(Math.random() * (maxNum - minNum)) + minNum);
	}

	/** 绑定输入框和按钮  当输入框中都存在值后  按钮变成可点击 */
	public static function bindInputBtn(confirmBtn:GButton, ...glodText):BindInputButton {
		return new BindInputButton(confirmBtn, glodText);
	}

	/** 绑定按钮长按、点击 */
	public static function bindLongPressBtn(confirmBtn:GButton, callback:Function, ...args):LongPressBtn {
		return new LongPressBtn(confirmBtn, callback, args);
	}

	/**
	 * 比较两个值  获得返回值   用于数组排序   从小到大
	 * @param aPrice 第一个值
	 * @param bPrice 第二个值
	 * @return 大于第二个值  1   小于第二个值 -1 相等 0
	 *
	 */
	public static function compare(aPrice:Number, bPrice:Number):Number {
		if (aPrice > bPrice) {
			return 1;
		} else if (aPrice < bPrice) {
			return -1;
		} else {
			return 0;
		}
	}

	/**
	 * 比较两个值  获得返回值   用于数组排序   从大到小
	 * @param aPrice 第一个值
	 * @param bPrice 第二个值
	 * @return 大于第二个值  1   小于第二个值 -1 相等 0
	 *
	 */
	public static function compareOn(aPrice:Number, bPrice:Number):Number {
		if (aPrice > bPrice) {
			return -1;
		} else if (aPrice < bPrice) {
			return 1;
		} else {
			return 0;
		}
	}

	/**
	 * 随机生成字符串
	 */
	public static function randomChar():String {
		var x:String = "0123456789qwertyuioplkjhgfdsazxcvbnm";
		var tmp:String = "";
		for (var i:int = 0; i < 32; i++) {
			tmp += x.charAt(Math.ceil(Math.random() * 100000000) % x.length);
		}
//            tmp += Browser.now();
		return tmp;
	}

	/**
	 * 检查谷歌当前版本是否满足最小的版本
	 * @param checkVersion 最小的版本号
	 * @return
	 */
	public static function checkChromeBrowserVersion(checkVersion:int):Boolean {
		var agent:String = Browser.userAgent.toLowerCase();
		if (agent.indexOf("applewebkit") > -1) {
			if (/chrome\/(\d+\.\d)/i.test(agent)) {
				var chrome:* = +RegExp['\x241'];
				var ver:int = parseInt(chrome);
				console.log("check browser version = "+ver);
				if (ver >= checkVersion) {
					return true;
				}
			}
		}
		return false;
	}

}

}
